/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.com.ces4.produccion.server;

import co.com.ces4.produccion.jpa.controllers.ArticuloJpaController;
import co.com.ces4.produccion.jpa.controllers.ArticuloLineaJpaController;
import co.com.ces4.produccion.jpa.controllers.DetalleSolicitudProduccionJpaController;
import co.com.ces4.produccion.jpa.controllers.LineaProduccionJpaController;
import co.com.ces4.produccion.jpa.controllers.MateriaPrimaArticuloJpaController;
import co.com.ces4.produccion.jpa.controllers.MateriaPrimaJpaController;
import co.com.ces4.produccion.jpa.controllers.OrdenProduccionJpaController;
import co.com.ces4.produccion.jpa.controllers.SolicitudProduccionJpaController;
import co.com.ces4.produccion.jpa.controllers.UsuarioJpaController;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

/**
 *
 * @author usuario
 */
public class ConfigurationLoader implements ServletContextListener {

    @Override
    public void contextInitialized(ServletContextEvent sce) {
        System.setProperty("APP_TARGET_ENVIROMENT", "DEV");
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("persistenceSOFTPROPU");

        ArticuloJpaController articuloJpaController = new ArticuloJpaController(emf);
        sce.getServletContext().setAttribute("articuloJpaController", articuloJpaController);

        MateriaPrimaJpaController materiaPrimaJpaController = new MateriaPrimaJpaController(emf);
        sce.getServletContext().setAttribute("materiaPrimaJpaController", materiaPrimaJpaController);
        
        MateriaPrimaArticuloJpaController materiaPrimaArticuloJpaController = new MateriaPrimaArticuloJpaController(emf);
        sce.getServletContext().setAttribute("materiaPrimaArticuloJpaController", materiaPrimaArticuloJpaController);

        LineaProduccionJpaController lineaProduccionJpaController = new LineaProduccionJpaController(emf);
        sce.getServletContext().setAttribute("lineaProduccionJpaController", lineaProduccionJpaController);

        ArticuloLineaJpaController articuloLineaJpaController = new ArticuloLineaJpaController(emf);
        sce.getServletContext().setAttribute("articuloLineaJpaController", articuloLineaJpaController);

        UsuarioJpaController usuarioController = new UsuarioJpaController(emf);
        sce.getServletContext().setAttribute("usuarioJpaController", usuarioController);

        SolicitudProduccionJpaController solicitudProduccionJpaController = new SolicitudProduccionJpaController(emf);
        sce.getServletContext().setAttribute("solicitudProduccionJpaController", solicitudProduccionJpaController);

        OrdenProduccionJpaController ordenProduccionJpaController = new OrdenProduccionJpaController(emf);
        sce.getServletContext().setAttribute("ordenProduccionJpaController", ordenProduccionJpaController);

        DetalleSolicitudProduccionJpaController detalleSolicitudProduccionJpaController = new DetalleSolicitudProduccionJpaController(emf);
        sce.getServletContext().setAttribute("detalleSolicitudProduccionJpaController", detalleSolicitudProduccionJpaController);
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}
